package com.shujia.day10;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Code10DateFormatClass {
    public static void main(String[] args) throws ParseException {
        /*
            DateFormat类
                :要用于做时间格式转换 但是其为一个抽象类

            SimpleDateFormat
                ：是一个具体的类，用于以区域设置敏感的方式格式化和解析日期。

            根据：2023-08-26 14:33:26 指定一个时间的模板 yyyy-MM-dd HH:mm:ss

            new SimpleDateFormat()
            new SimpleDateFormat(String pattern)  传入一个标准的时间模板 用于做时间类型转换

         */

        SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// pattern 表示是一个标准的日期模板
        Date date = new Date(); // 创建一个Date 获取当前系统时间格式为： Sat Aug 26 14:36:42 CST 2023
        String formatDateRes = simpleDateFormat2.format(date);
        System.out.println(formatDateRes); // 标准模板对应的时间


        SimpleDateFormat simpleDateFormat = new SimpleDateFormat();
        simpleDateFormat.applyPattern("yyyy-MM-dd");  // 通过该模板可以从时间中获取日期
        System.out.println(simpleDateFormat.format(new Date()));

        // 解析一个字符串转换成Date 可能会出现错误 所以会在parse下标红，那么需要我们对错误进行处理
        Date parseDate = simpleDateFormat.parse("2023-08-25"); // throws ParseException 抛出解析异常
        System.out.println(parseDate);

        Date parseDate2 = simpleDateFormat.parse("2023-08-25 12:12:12"); // 处理的数据需要给定一个标准格式
        System.out.println(parseDate2);


        SimpleDateFormat simpleDateFormat3 = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); // 给定一个模板再去解析
        Date date1 = simpleDateFormat3.parse("2023/08/25 12:12:12");
        System.out.println(date1);
    }
}
